## LibGameEngine:
## A C++ Game Engine library

PACKAGE_VERSION=1.0
LIBRARY_VERSION=3:0:0

## Place generated object files (.o) into the same directory as their source
## files, in order to avoid collisions when non-recursive make is used.
AUTOMAKE_OPTIONS = subdir-objects

## Define a libtool archive target "libGameEngine-@GAME_ENGINE_API_VERSION@.la", with
## @GAME_ENGINE_API_VERSION@ substituted into the generated Makefile at configure
## time.
## The libtool archive file (.la) will be installed into the directory named
## by the predefined variable $(bindir), along with the actual shared library
## file (.so).
lib_LTLIBRARIES = libGameEngine-@GAME_ENGINE_API_VERSION@.la

## Define the source file list for the "libGameEngine-@GAME_ENGINE_API_VERSION@.la"
## target.  Note that @GAME_ENGINE_API_VERSION@ is not interpreted by Automake and
## will therefore be treated as if it were literally part of the target name,
## and the variable name derived from that.
## The file extension .cpp is recognized by Automake, and makes it produce
## rules which invoke the C++ compiler to produce a libtool object file (.lo)
## from each source file.  Note that it is not necessary to list header files
## which are already listed elsewhere in a _HEADERS variable assignment.
libGameEngine_@GAME_ENGINE_API_VERSION@_la_SOURCES = \
	GameEngine/GameStateManager/GameStateManager.cpp \
	GameEngine/graphics/DisplayObjectContainer.cpp \
	GameEngine/graphics/Font/Font.cpp \
	GameEngine/graphics/input/KeyboardEvents.cpp \
	GameEngine/graphics/input/MouseEvents.cpp \
	GameEngine/graphics/widgets/shapes/Rectangle.cpp \
	GameEngine/graphics/widgets/Button/Button.cpp \
	GameEngine/graphics/widgets/InputBox/InputBox.cpp \
	GameEngine/math/Point2D.cpp \
	GameEngine/network/NetworkMessage.cpp \
	GameEngine/network/NetworkClient.cpp \
	GameEngine/network/NetworkServer.cpp \
	GameEngine/utils/Timer/Timer.cpp \
	GameEngine/utils/Mutex/Mutex.cpp \
	GameEngine/utils/ApplicationLog/ApplicationLog.cpp

## Instruct libtool to include ABI version information in the generated shared
## library file (.so).  The library ABI version is defined in configure.ac, so
## that all version information is kept in one place.
libGameEngine_@GAME_ENGINE_API_VERSION@_la_LDFLAGS = -version-info $(GAME_ENGINE_SO_VERSION)

## Define the list of public header files and their install location.  The
## nobase_ prefix instructs Automake to not strip the directory part from each
## filename, in order to avoid the need to define separate file lists for each
## installation directory.  This only works if the directory hierarchy in the
## source tree matches the hierarchy at the install location, however.
GameEngine_includedir = $(includedir)/GameEngine-$(GAME_ENGINE_API_VERSION)

nobase_GameEngine_include_HEADERS = \
	GameEngine.h \
	GameEngine/Event/Event.h \
	GameEngine/GameStateManager/GameState.h \
	GameEngine/GameStateManager/GameStateManager.h \
	GameEngine/graphics/DisplayObject.h \
	GameEngine/graphics/DisplayObjectContainer.h \
	GameEngine/graphics/Font/Font.h \
	GameEngine/graphics/input/KeyboardEvents.h \
	GameEngine/graphics/input/MouseEvents.h \
	GameEngine/graphics/widgets/shapes/Rectangle.h \
	GameEngine/graphics/widgets/Button/Button.h \
	GameEngine/graphics/widgets/InputBox/InputBox.h \
	GameEngine/math/Point2D.h \
	GameEngine/network/NetworkMessage.h \
	GameEngine/network/NetworkClient.h \
	GameEngine/network/NetworkServer.h \
	GameEngine/utils/data_types.h \
	GameEngine/utils/useful_macros.h \
	GameEngine/utils/Timer/Timer.h \
	GameEngine/utils/Mutex/Mutex.h \
	GameEngine/utils/ApplicationLog/ApplicationLog.h

## The generated configuration header is installed in its own subdirectory of
## $(libdir).  The reason for this is that the configuration information put
## into this header file describes the target platform the installed library
## has been built for.  Thus the file must not be installed into a location
## intended for architecture-independent files, as defined by the Filesystem
## Hierarchy Standard (FHS).
## The nodist_ prefix instructs Automake to not generate rules for including
## the listed files in the distribution on 'make dist'.  Files that are listed
## in _HEADERS variables are normally included in the distribution, but the
## configuration header file is generated at configure time and should not be
## shipped with the source tarball.
GameEngine_libincludedir = $(libdir)/GameEngine-$(GAME_ENGINE_API_VERSION)/include
nodist_GameEngine_libinclude_HEADERS = GameEngineconfig.h

## Install the generated pkg-config file (.pc) into the expected location for
## architecture-dependent package configuration information.  Occasionally,
## pkg-config files are also used for architecture-independent data packages,
## in which case the correct install location would be $(datadir)/pkgconfig.
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = GameEngine-$(GAME_ENGINE_API_VERSION).pc

## Define an independent executable script for inclusion in the distribution
## archive.  However, it will not be installed on an end user's system due to
## the noinst_ prefix.
dist_noinst_SCRIPTS = autogen.sh

